Design a Report Card Class

Class Design

Criteria Meet Specification

Constants

Any constants contained in the class are never modified, and are logical choices for constant values.

Submission Structure

The submitted project consists of a single .java file, titled ReportCard.java, contained in a .zip file.

Variables

The class contains appropriate variables to track information which belongs on a report card. The class does not contain variables which should belong, for instance, to a student, a teacher, a school, or a textbook.

Constructor

The class contains at least one constructor which properly instantiates each variable in the class.

Getters

Any private variables which might be read off of a report card should have a getter method to access them.

Setters

All private variables require a setter method.

The toString() method

The class contains a toString() method which returns the contents of the class in a human-readable string. The toString() method should properly use the @Override notation.

Functionality

Criteria Meet Specification

Compilation Errors

The code compiles without errors

Code Readability

Criteria Meet Specification

Format

The code is properly formatted i.e. there are no unnecessary blank lines; there are no unused variables or methods; there is no commented out code.
The code also has proper indentation when defining variables and methods.

Naming conventions

All variables, methods, and resource IDs are descriptively named such that another developer reading the code can easily understand their function.